home *** CD-ROM | disk | FTP | other *** search
- **************************************************************************
- * Library Manager V1.3 © 1995 Ian Hegerty *
- **************************************************************************
- * Library Manager is SPACEWARE. See below! */
- **************************************************************************
-
- 1.0 What is Library Manager?
- ----------------------------
-
- Library Manager is a commodity designed to control the library files
- in your libs: drawer. It can invisibly prevent stupid install scripts from
- overwriting newer versions of libraries by older, whilst allowing the
- replacement of older versions by newer. It can scan inserted disks for
- newer versions of libraries than those in your libs: drawer, and
- automatically install them. Library manager also provides a simple way to
- show which versions of libraries are on which disks.
-
- 1.1 Why write it?
- -----------------
-
- Because I was fed up of programs saying 'Could not open library' and
- failing, and then having to search through my disks for the correct version
- using 'type opt h' and looking for the ID string, because the VERSION
- command gives incorrect results for disk-based libraries. I started just
- write-protecting my libraries, but most install scripts would just fail,
- so I had to do it manually... I'm a lazy soul at heart.
-
- 1.1 What do you need to run it?
- -------------------------------
-
- WB2.0 and about 20K of free ram. Its probably not much use without a
- hard disk.
-
- 1.2 How do you use it?
- ----------------------
-
- QUICK GUIDE:
-
- Put in in WBStartup and reboot. After booting, press Alt-Shift-F6
- to bring up the window. Piss about a bit, and Bob's your uncle.
-
- SLIGHTLY SLOWER GUIDE
-
- Double click to activate it, or copy it to your WBStartup drawer to
- automatically start it on boot. Library Manager will then be running in the
- background, and to bring it up either double click on the icon AGAIN, or
- press the pop-key Alt Shift F6 (this may be changed later).
-
- The window that pops up is pretty self explanatory. The cycle gadget
- at the top selects whether the 'System Libraries' (i.e. those in 'libs:')
- are displayed or those in the ChkDir directory (usually 'df0:libs').
- Clicking on a displayed library shows the library id string, if there is
- one. Beneath this is a scrollable list of all the libraries, in the form
- 'Name Vxx.xx' (i.e Version,Revision). The tag ROM after the name
- indicates that the library is in ROM.
-
- Library manager will automatically check the libs drawer of disks
- inserted whilst it is running. If, however, you wish to check another
- drawer, click on the string gadget marked 'Check Directory' and type
- the directory's name. Alternatively,you can use the GetFile (the little
- picture to the right of the 'Check Directory' gadget) to select a
- directory (not a file!).
-
- Just beneath this gadget is the 'Pop-up key' gadget. By clicking
- here, you can select which key you use to pop-up Library Manager when
- it is hidden. See the Workbench manuals for details of the possible
- combinations.
-
- By selecting one of the three 'update' buttons on the right, you can
- select whether you want library manager to never update older libraries
- with newer ones, to ask if you want a library updated, or to automatically
- update libraries.
-
- Similarly the three buttons on the left determine whether you want
- your libs: files protected against deletion and unauthorised updating
- (more often downdating!). No protect does just that, whilst Auto Protect
- clears the 'd' flag on all libs: libraries so they can't be deleted or
- overwritten. However, setting Auto Protect will cause any install scripts
- which try to update or downdate a libs: file to fail, probably before
- doing the useful part of the installation.
-
- This is where Clever Protect comes in. What it does is to redirect
- any .library files that are being installed to a temporary directory, and
- then compare them to the libs: libraries. Depending on how Update is set,
- it will either automatically update with newer versions (Auto Update),
- while trashing the older, or ask you if you want the newer versions
- installed, or just do nothing. By selecting Clever Protect, you can ensure
- that programs will not fail because of old versions of libraries.
-
- Beneath the Protect and Update gadgets lies the 'Ignore Unopenable
- Libraries' switch. If this is ticked, any libraries that cannot be opened
- will be ignored, rather than Library Manger giving you a warning. This may
- happen if Library Manager encounters a WB3.0 library on a WB2.0 Amiga, or
- if one one copy of a library can be opened (e.g socket.library from the
- AmiTCP distribution), and the library is already open.
-
- Finally, at the very bottom are the four button gadgets. 'Save' saves
- the current settings of Library Manager. 'Hide' or the close gadget makes
- the program run in the background. 'About' gives the usual credits, and
- 'Quit' terminates Library Manager.
-
- As Library Manager is a commodity, it can also be controlled by the
- Commodities Exchange program. See the Workbench manual for details.
-
- 1.3 Configuring and Tooltypes
- -----------------------------
-
- Most of the options of Library Manager can be configured from its
- window. Any of the options you can set from this window can be saved
- by clicking on the SAVE button. This will also save the position of the
- window. Pressing SAVE updates the programs icon, so be warned if you
- move the program!
-
- Aside from the standard CX tooltypes, Library Manager also supports:
-
- IGNORE = (YES|NO) - whether to ignore unopenable libraries
- CHKDIR = <string> - the default check directory.
- PROTECT = (NONE|AUTO|CLEVER) - see above
- UPDATE = (NONE|PROMPT|AUTO) - see above
- DELAY = <number> - the number of ticks (1/50th of a second)
- before LibMan starts reading an inserted
- disk. Use this to prevent thrashing with
- virus checkers.
-
- XPOS = <number> - x position of window
- YPOS = <number> - y position of window
-
- FONT = <fontname> - use a font other than the default
- FONTSIZE = <number> - size of the font
-
-
-
- 1.4 Possible problems
- ---------------------
-
- Some buggy custom libraries may crash on loading. The only library
- I know of which does this is an early version of xprkermit.library. (
- the version I now have, V1.112 however, works fine). The only thing Library
- Manager does to libraries is to OpenLibrary() them, which is about the only
- thing you can do to a disk-based library, so don't blame me! Maybe if enough
- people ask for it, I will add an exclude function to ignore certain
- libraries.
-
- If a library is already installed in the system memory, it is normally
- extremely difficult to find out the version of another copy of the library
- on disk. This is because some libraries link themselves into the system
- library list, and will not replace a newer version in memory. This is the
- reason why the VERSION command is almost useless for uncovering library
- versions. If the library is already in memory, VERSION will give you the
- version of the library in memory.
-
- What Library Manager does to get around this is to examine the file
- itself. Unfortunately, because self-installing libraries set up their data,
- you can't have access to the revision number without OpenLibrary()ing them,
- which will just return the version already in memory... If this situation
- occurs, Library Manager will try to obtain the version from the ID string
- (WARNING - this may not be correct!). Even if this fails, (which will
- only happen with badly written libraries, the major Version number is
- always available in another area of the file, and in this case Library
- Manager displays the version as 'Vxx.??'. Updates are performed
- as above, but are based only on the major Version number.
-
-
- In order to Clever Protect, Library Manager traps the Open() and Close()
- calls. This causes no problems unless another program does the same
- BEFORE Library Manager, and terminates BEFORE Library Manager. I have not
- found any programs that cause this, and so long as Library Manager is
- started on boot and kept running, this problem should not occur.
-
- 1.5 How can you thank me enough?
- --------------------------------
-
- This product is SPACEWARE. If you like it, why not listen to a
- Spaceman 3 album? Recommended is Playing with Fire.
-
- If you want to contact me, here are my details
-
- Ian Hegerty,
- 20 Edith Road,
- Maidenhead.
- Berks.
- SL6 5DY.
- ENGLAND.
-
- E-mail: ihegerty@sina.demon.co.uk
- HEGERTY@rhphv1.ph.rhbnc.ac.uk
-
-
- Any suggestions, bug reports, spare 3.1 roms for a 2000 etc will be
- greatly appreciated!
-
- Special thanks to Keith Butler for suggestions and testing (and making
- me remember that I had written the arlier versions!).
-
- 1.6 Copyright and Legal stuff
- -----------------------------
-
- This is a full version of a SPACEWARE program. It can be freely copied
- and distributed by private individuals, bulletin boards, and public
- domain distributors on the condition that this file is distributed with
- it, and that only a small fee is charged for copying. Magazines may
- include the program on disks for a fee equivalent to UKP 50. However
- copyright remains with Ian Hegerty. If they make money out of me, why
- shouldn't I?
-
-
- Cheers,
-
- Ian Hegerty.
-